package ssbService;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;

/**
 * This object contains factory methods for each Java content interface and Java
 * element interface generated in the ssbService package.
 * <p>
 * An ObjectFactory allows you to programatically construct new instances of the
 * Java representation for XML content. The Java representation of XML content
 * can consist of schema derived interfaces and classes representing the binding
 * of schema type definitions, element declarations and model groups. Factory
 * methods for each of these are provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

	private final static QName _GetServiceList_QNAME = new QName(
			"http://mainService/", "getServiceList");
	private final static QName _DoWorkResponse_QNAME = new QName(
			"http://mainService/", "doWorkResponse");
	private final static QName _UnregistServiceResponse_QNAME = new QName(
			"http://mainService/", "unregistServiceResponse");
	private final static QName _GetServiceListResponse_QNAME = new QName(
			"http://mainService/", "getServiceListResponse");
	private final static QName _DoWork_QNAME = new QName("http://mainService/",
			"doWork");
	private final static QName _RegistServiceResponse_QNAME = new QName(
			"http://mainService/", "registServiceResponse");
	private final static QName _FetchPublicKey_QNAME = new QName(
			"http://mainService/", "fetchPublicKey");
	private final static QName _RegistService_QNAME = new QName(
			"http://mainService/", "registService");
	private final static QName _UnregistService_QNAME = new QName(
			"http://mainService/", "unregistService");
	private final static QName _FetchPublicKeyResponse_QNAME = new QName(
			"http://mainService/", "fetchPublicKeyResponse");

	/**
	 * Create a new ObjectFactory that can be used to create new instances of
	 * schema derived classes for package: ssbService
	 * 
	 */
	public ObjectFactory() {
	}

	/**
	 * Create an instance of {@link UnregistService }
	 * 
	 */
	public UnregistService createUnregistService() {
		return new UnregistService();
	}

	/**
	 * Create an instance of {@link ServicesInfo }
	 * 
	 */
	public ServicesInfo createServicesInfo() {
		return new ServicesInfo();
	}

	/**
	 * Create an instance of {@link GetServiceListResponse }
	 * 
	 */
	public GetServiceListResponse createGetServiceListResponse() {
		return new GetServiceListResponse();
	}

	/**
	 * Create an instance of {@link GetServiceList }
	 * 
	 */
	public GetServiceList createGetServiceList() {
		return new GetServiceList();
	}

	/**
	 * Create an instance of {@link AdapterRequest }
	 * 
	 */
	public AdapterRequest createAdapterRequest() {
		return new AdapterRequest();
	}

	/**
	 * Create an instance of {@link DoWork }
	 * 
	 */
	public DoWork createDoWork() {
		return new DoWork();
	}

	/**
	 * Create an instance of {@link DoWorkResponse }
	 * 
	 */
	public DoWorkResponse createDoWorkResponse() {
		return new DoWorkResponse();
	}

	/**
	 * Create an instance of {@link Sign }
	 * 
	 */
	public Sign createSign() {
		return new Sign();
	}

	/**
	 * Create an instance of {@link RegistService }
	 * 
	 */
	public RegistService createRegistService() {
		return new RegistService();
	}

	/**
	 * Create an instance of {@link RegistServiceResponse }
	 * 
	 */
	public RegistServiceResponse createRegistServiceResponse() {
		return new RegistServiceResponse();
	}

	/**
	 * Create an instance of {@link RegisterMessage }
	 * 
	 */
	public RegisterMessage createRegisterMessage() {
		return new RegisterMessage();
	}

	/**
	 * Create an instance of {@link UnregistServiceResponse }
	 * 
	 */
	public UnregistServiceResponse createUnregistServiceResponse() {
		return new UnregistServiceResponse();
	}

	/**
	 * Create an instance of {@link KeyMoudler }
	 * 
	 */
	public KeyMoudler createKeyMoudler() {
		return new KeyMoudler();
	}

	/**
	 * Create an instance of {@link MessageElement }
	 * 
	 */
	public MessageElement createMessageElement() {
		return new MessageElement();
	}

	/**
	 * Create an instance of {@link FetchPublicKey }
	 * 
	 */
	public FetchPublicKey createFetchPublicKey() {
		return new FetchPublicKey();
	}

	/**
	 * Create an instance of {@link FetchPublicKeyResponse }
	 * 
	 */
	public FetchPublicKeyResponse createFetchPublicKeyResponse() {
		return new FetchPublicKeyResponse();
	}

	/**
	 * Create an instance of {@link Message }
	 * 
	 */
	public Message createMessage() {
		return new Message();
	}

	/**
	 * Create an instance of {@link ServiceDescribe }
	 * 
	 */
	public ServiceDescribe createServiceDescribe() {
		return new ServiceDescribe();
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link GetServiceList }
	 * {@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "getServiceList")
	public JAXBElement<GetServiceList> createGetServiceList(GetServiceList value) {
		return new JAXBElement<GetServiceList>(_GetServiceList_QNAME,
				GetServiceList.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link DoWorkResponse }
	 * {@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "doWorkResponse")
	public JAXBElement<DoWorkResponse> createDoWorkResponse(DoWorkResponse value) {
		return new JAXBElement<DoWorkResponse>(_DoWorkResponse_QNAME,
				DoWorkResponse.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}
	 * {@link UnregistServiceResponse }{@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "unregistServiceResponse")
	public JAXBElement<UnregistServiceResponse> createUnregistServiceResponse(
			UnregistServiceResponse value) {
		return new JAXBElement<UnregistServiceResponse>(
				_UnregistServiceResponse_QNAME, UnregistServiceResponse.class,
				null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}
	 * {@link GetServiceListResponse }{@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "getServiceListResponse")
	public JAXBElement<GetServiceListResponse> createGetServiceListResponse(
			GetServiceListResponse value) {
		return new JAXBElement<GetServiceListResponse>(
				_GetServiceListResponse_QNAME, GetServiceListResponse.class,
				null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link DoWork }{@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "doWork")
	public JAXBElement<DoWork> createDoWork(DoWork value) {
		return new JAXBElement<DoWork>(_DoWork_QNAME, DoWork.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}
	 * {@link RegistServiceResponse }{@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "registServiceResponse")
	public JAXBElement<RegistServiceResponse> createRegistServiceResponse(
			RegistServiceResponse value) {
		return new JAXBElement<RegistServiceResponse>(
				_RegistServiceResponse_QNAME, RegistServiceResponse.class,
				null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link FetchPublicKey }
	 * {@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "fetchPublicKey")
	public JAXBElement<FetchPublicKey> createFetchPublicKey(FetchPublicKey value) {
		return new JAXBElement<FetchPublicKey>(_FetchPublicKey_QNAME,
				FetchPublicKey.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link RegistService }
	 * {@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "registService")
	public JAXBElement<RegistService> createRegistService(RegistService value) {
		return new JAXBElement<RegistService>(_RegistService_QNAME,
				RegistService.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link UnregistService }
	 * {@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "unregistService")
	public JAXBElement<UnregistService> createUnregistService(
			UnregistService value) {
		return new JAXBElement<UnregistService>(_UnregistService_QNAME,
				UnregistService.class, null, value);
	}

	/**
	 * Create an instance of {@link JAXBElement }{@code <}
	 * {@link FetchPublicKeyResponse }{@code >}
	 * 
	 */
	@XmlElementDecl(namespace = "http://mainService/", name = "fetchPublicKeyResponse")
	public JAXBElement<FetchPublicKeyResponse> createFetchPublicKeyResponse(
			FetchPublicKeyResponse value) {
		return new JAXBElement<FetchPublicKeyResponse>(
				_FetchPublicKeyResponse_QNAME, FetchPublicKeyResponse.class,
				null, value);
	}

}
